With Linux, you can either just go with the defaults that ship with your distribution, or you can install more options to give you a variety of choices.
When you start your computer, there is a daemon for the display server, and it is started.
When the display server starts, a service or daemon for a display manager must be available. Then the server gives control to the display manager which starts up a login graphical interface for user login.
The display manager / login manager then gives the user a drop-down menu to choose which desktop environment or window manager to use.
This choice is only available if the user has some stand-alone tiling window manager like i3 — which can stand on its own as a desktop environment — installed.
And when the user logs in successfully, the display manager/login manager starts the desktop environment or the window manager the user selected.
And from there, the user can start opening windows and applications whose positioning and look-and-feel are controlled by either the desktop environment or the window manager based on the user's selection at the login.
This process starts automatically on all Linux distributions that come prepacked with display managers; for example Ubuntu.
But for Arch Linux, Gentoo and some other distributions also, you only get the Linux Kernel at installation. Which means they do not come pre-packed with all these applications. So you would have to understand this process so that you can install the appropriate variants of all these softwares in order to get a working desktop environment.
A display server or window server is a program whose primary task is to coordinate the input and output of its clients to and from the rest of the operating system, the hardware, and each other. So, thanks to a display server, you can use your computer with GUI. Without it, you would only be restricted to a command-line interface (TTY).
The display server communicates with its clients over the display server protocol such as X11 (or X) and Wayland
Xorg is the legacy display server that has been existed for years. It is the most common display server used in Linux distributions.
It implements the X (or X11) protocol. The X protocol is just a set of rules for communication between the display server and its clients.
Wayland is the modern display server that is supposed to replace the legacy X display server.
The display manager is a bit of code that provides the GUI login screen for your Linux desktop. After you log in to a GUI desktop, the display manager turns control over to the window manager. When you log out of the desktop, the display manager is given control again to display the login screen and wait for another login.
- GDM (Gnome Display Manager, in distributions with GNOME DE installed)
- SDDM (Simple Desktop Display Manager; in KDE based distributions)
- LXDM (LXDE Display Manager, installed on systems with LXDE)
- LightDM (Cross Desktop, works with any Desktop Environment).
We will explain these commands later.
- Update all the packages to their newest available versions.
-
Ubuntu / Ubuntu-based distributions :
- GDM :
sudo apt install gdm3
- LightDM :
sudo apt install lightdm
- GDM :
-
Fedora :
- GDM :
sudo dnf install gdm3
- LightDM :
sudo dnf install lightdm
- GDM :
-
Arch Linux / Arch-based distributions :
- GDM :
sudo pacmans -S gdm3
- LightDM :
sudo pacman -S lightdm-gtk-greeter
- GDM :
-
Enable the (GDM/LightDM) service so that it starts on our system startup :
- GDM :
sudo systemctl enable gdm.service
- LightDM :
sudo systemctl enable lightdm.service -f
- GDM :
The desktop environments use display servers.
A desktop environment is the bundle of components that provide you common GUI elements such as icons, toolbars, wallpapers, and desktop widgets. Without a desktop environment, your Linux system will just have a terminal, and you’ll have to interact it using commands only.
Most of the desktop environments have their own set of integrated applications and utilities so that users get a uniform feel while using the OS. So, you get a file explorer, desktop search, menu of applications, wallpaper and screensaver utilities, text editors and more.
Running Linux, changing or adding a different desktop environment is as easy as installing any other program. Just install the software, log out, and log in back again on the new environment. Keep in mind that most desktop environments come bundled with specific text editors and terminal programs—you can decide what you to keep and what to dump. And, choosing a different window manager just changes the way you interact with your Linux box, it doesn't cause you to lose new programs.
- GNOME
- XFCE
- KDE
- LXDE
- MATE
- Cinnamon
- Deepin DE
Window managers are programs which are either part of a desktop environment or, in some cases, stand-alone. It's allowing the windows to be opened, closed, re-sized, and moved. It is also capable of presenting menus and options to the user. It controls the look and feel of the user's GUI.
Every Desktop Environment comes with its own Window Manager.
You might be wondering what makes a window manager different from a desktop environment. Each desktop environment, of course, has a window manager; it can’t be otherwise. A window manager is just one piece of software, but a desktop environment may contain hundreds of other programmes.
Window Manager vs Desktop Environment
-
A stacking window manager is the traditional concept, where one window is "on top" and all the others are layered behind.
-
Examples : Fluxbox, Openbox, Enlightenment
-
A tiling window manager presents windows to the user in a way that they're never overlapping.
-
Examples: i3wm, awesome, bspwm, dwm
- i3wm
- dwm
- awesomewm
- IceWM
- Openbox
- JWM
- On Debian/Ubuntu :
sudo apt install i3
- On Fedora :
sudo dnf install i3